const Ws = require('ws');

;((Ws) => {

  const serve = new Ws.Server({ port:8000 });

  const init = () => {
    bindEvent()
  }

  function bindEvent() {
    serve.addListener('open', handleOpen);
    serve.addListener('close', handleClose);
    serve.addListener('error', handleError);
    serve.addListener('connection', handleConnection);
  }
  function handleOpen() {
    console.log('open');
  } 
  function handleClose() {
    console.log('close');
  }
  function handleError() {
    console.log('error');
  }
  function handleConnection() {
    console.log('connection');
  }

  function handleConnection(e) {
    console.log('websocket connecton', e);
    e.addListener('message', handleMsg);
  }

  function handleMsg(msg) {
    console.log('msg',String(msg));


    serve.clients.forEach(item => {
      item.send(String(msg))
    })
  }

  init()
})(Ws);